/**
 * Copyright &copy; 2012-2017 <a href="https://vivo.com">vivo</a> All rights reserved.
 */
package com.vivo.fx.material.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 物料信息Entity
 * @author jyangye
 * @version 2017-11-27
 */
public class FxMaterialinfo extends DataEntity<FxMaterialinfo> {
	
	private static final long serialVersionUID = 1L;
	private String materialinfoid;		// materialinfoid
	private String materialkindid;		// materialkindid
	private String levelcode;		// levelcode
	private String materialcode;		// materialcode
	private String materialname;		// materialname
	private String maerialunit;		// maerialunit
	private String materialstandard;		// materialstandard
	private String purchaseprice;		// purchaseprice
	private String dispatchprice;		// dispatchprice
	private String balanceprice;		// balanceprice
	private String chargeoffpercent;		// chargeoffpercent
	private String useperiod;		// useperiod
	private Date issuestartdate;		// issuestartdate
	private Date issueenddate;		// issueenddate
	private String materialdescription;		// materialdescription
	private String materialproperty;		// materialproperty
	private String materialnature;		// materialnature
	private String materialtype;		// materialtype
	private String materialquality;		// materialquality
	private String materialcontent;		// materialcontent
	private String enablechange;		// enablechange
	private String istakestock;		// istakestock
	private String enableretrieve;		// enableretrieve
	private String ischeckup;		// ischeckup
	private String isacceptance;		// isacceptance
	private String isphotoacceptance;		// isphotoacceptance
	private String istraceback;		// istraceback
	private String isneedrevisit;		// isneedrevisit
	private String istotalstock;		// istotalstock
	private String isneedcode;		// isneedcode
	private String picturesize;		// picturesize
	private String remark;		// remark
	private String materialstate;		// materialstate
	private String mindispatchcount;		// mindispatchcount
	private String materialphoto;		// materialphoto
	private String isoffsetadvertising;		// isoffsetadvertising
	
	public FxMaterialinfo() {
		super();
	}

	public FxMaterialinfo(String id){
		super(id);
	}

	@Length(min=1, max=32, message="materialinfoid长度必须介于 1 和 32 之间")
	@ExcelField(title="materialinfoid", align=2, sort=10)
	public String getMaterialinfoid() {
		return materialinfoid;
	}

	public void setMaterialinfoid(String materialinfoid) {
		this.materialinfoid = materialinfoid;
	}
	
	@Length(min=1, max=32, message="materialkindid长度必须介于 1 和 32 之间")
	@ExcelField(title="materialkindid", align=2, sort=20)
	public String getMaterialkindid() {
		return materialkindid;
	}

	public void setMaterialkindid(String materialkindid) {
		this.materialkindid = materialkindid;
	}
	
	@Length(min=1, max=30, message="levelcode长度必须介于 1 和 30 之间")
	@ExcelField(title="levelcode", align=2, sort=30)
	public String getLevelcode() {
		return levelcode;
	}

	public void setLevelcode(String levelcode) {
		this.levelcode = levelcode;
	}
	
	@Length(min=1, max=30, message="materialcode长度必须介于 1 和 30 之间")
	@ExcelField(title="materialcode", align=2, sort=40)
	public String getMaterialcode() {
		return materialcode;
	}

	public void setMaterialcode(String materialcode) {
		this.materialcode = materialcode;
	}
	
	@Length(min=1, max=100, message="materialname长度必须介于 1 和 100 之间")
	@ExcelField(title="materialname", align=2, sort=50)
	public String getMaterialname() {
		return materialname;
	}

	public void setMaterialname(String materialname) {
		this.materialname = materialname;
	}
	
	@Length(min=0, max=10, message="maerialunit长度必须介于 0 和 10 之间")
	@ExcelField(title="maerialunit", align=2, sort=60)
	public String getMaerialunit() {
		return maerialunit;
	}

	public void setMaerialunit(String maerialunit) {
		this.maerialunit = maerialunit;
	}
	
	@Length(min=0, max=100, message="materialstandard长度必须介于 0 和 100 之间")
	@ExcelField(title="materialstandard", align=2, sort=70)
	public String getMaterialstandard() {
		return materialstandard;
	}

	public void setMaterialstandard(String materialstandard) {
		this.materialstandard = materialstandard;
	}
	
	@ExcelField(title="purchaseprice", align=2, sort=80)
	public String getPurchaseprice() {
		return purchaseprice;
	}

	public void setPurchaseprice(String purchaseprice) {
		this.purchaseprice = purchaseprice;
	}
	
	@ExcelField(title="dispatchprice", align=2, sort=90)
	public String getDispatchprice() {
		return dispatchprice;
	}

	public void setDispatchprice(String dispatchprice) {
		this.dispatchprice = dispatchprice;
	}
	
	@ExcelField(title="balanceprice", align=2, sort=100)
	public String getBalanceprice() {
		return balanceprice;
	}

	public void setBalanceprice(String balanceprice) {
		this.balanceprice = balanceprice;
	}
	
	@ExcelField(title="chargeoffpercent", align=2, sort=110)
	public String getChargeoffpercent() {
		return chargeoffpercent;
	}

	public void setChargeoffpercent(String chargeoffpercent) {
		this.chargeoffpercent = chargeoffpercent;
	}
	
	@Length(min=0, max=11, message="useperiod长度必须介于 0 和 11 之间")
	@ExcelField(title="useperiod", align=2, sort=120)
	public String getUseperiod() {
		return useperiod;
	}

	public void setUseperiod(String useperiod) {
		this.useperiod = useperiod;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="issuestartdate", align=2, sort=130)
	public Date getIssuestartdate() {
		return issuestartdate;
	}

	public void setIssuestartdate(Date issuestartdate) {
		this.issuestartdate = issuestartdate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="issueenddate", align=2, sort=140)
	public Date getIssueenddate() {
		return issueenddate;
	}

	public void setIssueenddate(Date issueenddate) {
		this.issueenddate = issueenddate;
	}
	
	@Length(min=0, max=500, message="materialdescription长度必须介于 0 和 500 之间")
	@ExcelField(title="materialdescription", align=2, sort=150)
	public String getMaterialdescription() {
		return materialdescription;
	}

	public void setMaterialdescription(String materialdescription) {
		this.materialdescription = materialdescription;
	}
	
	@Length(min=0, max=50, message="materialproperty长度必须介于 0 和 50 之间")
	@ExcelField(title="materialproperty", align=2, sort=160)
	public String getMaterialproperty() {
		return materialproperty;
	}

	public void setMaterialproperty(String materialproperty) {
		this.materialproperty = materialproperty;
	}
	
	@Length(min=0, max=50, message="materialnature长度必须介于 0 和 50 之间")
	@ExcelField(title="materialnature", align=2, sort=170)
	public String getMaterialnature() {
		return materialnature;
	}

	public void setMaterialnature(String materialnature) {
		this.materialnature = materialnature;
	}
	
	@Length(min=0, max=50, message="materialtype长度必须介于 0 和 50 之间")
	@ExcelField(title="materialtype", align=2, sort=180)
	public String getMaterialtype() {
		return materialtype;
	}

	public void setMaterialtype(String materialtype) {
		this.materialtype = materialtype;
	}
	
	@Length(min=0, max=50, message="materialquality长度必须介于 0 和 50 之间")
	@ExcelField(title="materialquality", align=2, sort=190)
	public String getMaterialquality() {
		return materialquality;
	}

	public void setMaterialquality(String materialquality) {
		this.materialquality = materialquality;
	}
	
	@Length(min=0, max=200, message="materialcontent长度必须介于 0 和 200 之间")
	@ExcelField(title="materialcontent", align=2, sort=200)
	public String getMaterialcontent() {
		return materialcontent;
	}

	public void setMaterialcontent(String materialcontent) {
		this.materialcontent = materialcontent;
	}
	
	@Length(min=0, max=1, message="enablechange长度必须介于 0 和 1 之间")
	@ExcelField(title="enablechange", align=2, sort=210)
	public String getEnablechange() {
		return enablechange;
	}

	public void setEnablechange(String enablechange) {
		this.enablechange = enablechange;
	}
	
	@Length(min=0, max=1, message="istakestock长度必须介于 0 和 1 之间")
	@ExcelField(title="istakestock", align=2, sort=220)
	public String getIstakestock() {
		return istakestock;
	}

	public void setIstakestock(String istakestock) {
		this.istakestock = istakestock;
	}
	
	@Length(min=0, max=1, message="enableretrieve长度必须介于 0 和 1 之间")
	@ExcelField(title="enableretrieve", align=2, sort=230)
	public String getEnableretrieve() {
		return enableretrieve;
	}

	public void setEnableretrieve(String enableretrieve) {
		this.enableretrieve = enableretrieve;
	}
	
	@Length(min=0, max=1, message="ischeckup长度必须介于 0 和 1 之间")
	@ExcelField(title="ischeckup", align=2, sort=240)
	public String getIscheckup() {
		return ischeckup;
	}

	public void setIscheckup(String ischeckup) {
		this.ischeckup = ischeckup;
	}
	
	@Length(min=0, max=1, message="isacceptance长度必须介于 0 和 1 之间")
	@ExcelField(title="isacceptance", align=2, sort=250)
	public String getIsacceptance() {
		return isacceptance;
	}

	public void setIsacceptance(String isacceptance) {
		this.isacceptance = isacceptance;
	}
	
	@Length(min=0, max=1, message="isphotoacceptance长度必须介于 0 和 1 之间")
	@ExcelField(title="isphotoacceptance", align=2, sort=260)
	public String getIsphotoacceptance() {
		return isphotoacceptance;
	}

	public void setIsphotoacceptance(String isphotoacceptance) {
		this.isphotoacceptance = isphotoacceptance;
	}
	
	@Length(min=0, max=1, message="istraceback长度必须介于 0 和 1 之间")
	@ExcelField(title="istraceback", align=2, sort=270)
	public String getIstraceback() {
		return istraceback;
	}

	public void setIstraceback(String istraceback) {
		this.istraceback = istraceback;
	}
	
	@Length(min=0, max=1, message="isneedrevisit长度必须介于 0 和 1 之间")
	@ExcelField(title="isneedrevisit", align=2, sort=280)
	public String getIsneedrevisit() {
		return isneedrevisit;
	}

	public void setIsneedrevisit(String isneedrevisit) {
		this.isneedrevisit = isneedrevisit;
	}
	
	@Length(min=0, max=1, message="istotalstock长度必须介于 0 和 1 之间")
	@ExcelField(title="istotalstock", align=2, sort=290)
	public String getIstotalstock() {
		return istotalstock;
	}

	public void setIstotalstock(String istotalstock) {
		this.istotalstock = istotalstock;
	}
	
	@Length(min=0, max=1, message="isneedcode长度必须介于 0 和 1 之间")
	@ExcelField(title="isneedcode", align=2, sort=300)
	public String getIsneedcode() {
		return isneedcode;
	}

	public void setIsneedcode(String isneedcode) {
		this.isneedcode = isneedcode;
	}
	
	@Length(min=0, max=50, message="picturesize长度必须介于 0 和 50 之间")
	@ExcelField(title="picturesize", align=2, sort=310)
	public String getPicturesize() {
		return picturesize;
	}

	public void setPicturesize(String picturesize) {
		this.picturesize = picturesize;
	}
	
	@Length(min=0, max=200, message="remark长度必须介于 0 和 200 之间")
	@ExcelField(title="remark", align=2, sort=320)
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
	@Length(min=0, max=1, message="materialstate长度必须介于 0 和 1 之间")
	@ExcelField(title="materialstate", align=2, sort=330)
	public String getMaterialstate() {
		return materialstate;
	}

	public void setMaterialstate(String materialstate) {
		this.materialstate = materialstate;
	}
	
	@ExcelField(title="mindispatchcount", align=2, sort=340)
	public String getMindispatchcount() {
		return mindispatchcount;
	}

	public void setMindispatchcount(String mindispatchcount) {
		this.mindispatchcount = mindispatchcount;
	}
	
	@Length(min=0, max=100, message="materialphoto长度必须介于 0 和 100 之间")
	@ExcelField(title="materialphoto", align=2, sort=350)
	public String getMaterialphoto() {
		return materialphoto;
	}

	public void setMaterialphoto(String materialphoto) {
		this.materialphoto = materialphoto;
	}
	
	@Length(min=0, max=1, message="isoffsetadvertising长度必须介于 0 和 1 之间")
	@ExcelField(title="isoffsetadvertising", align=2, sort=360)
	public String getIsoffsetadvertising() {
		return isoffsetadvertising;
	}

	public void setIsoffsetadvertising(String isoffsetadvertising) {
		this.isoffsetadvertising = isoffsetadvertising;
	}
	
}